{-
Fase 2 
-}

makeFase2::(LProgram, LUserDefinedTypes)->String
makeFase2 (lambdaProgram, typesDefinitions) =   
                             "/* META-TYPE SECTION */\n\n"
                            ++(renderUserTypesDefinitions typesDefinitions) 
                            ++"\n\n/* MAIN SECTION */\n\n"
                            ++(renderMetaProgramWithInitialContext templateProgram initialContext 0)
              where 
               definitionList  = buildDefinitionList lambdaProgram
               templateProgram = translateFromLambdaToTemplates definitionList
               initialContext  = buildTemplateInitialContext typesDefinitions
